package org.study.mybatisplus.dynamic.boot.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Map;

/**
 * 作用描述
 *
 * @author doveylovey
 * @version v1.0.0
 * @email 1135782208@qq.com
 * @date 2025年10月20日
 */
@Data
@NoArgsConstructor
public class BrokerMessageDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 网关id
     */
    @JsonProperty("Id")
    private String id;
    /**
     * 报文类型：data-采集数据
     */
    @JsonProperty("Tp")
    private String tp;
    /**
     * 功能码：0
     */
    @JsonProperty("Ac")
    private Integer ac;
    /**
     * 南向设备id
     */
    @JsonProperty("Sn")
    private String sn;
    @JsonProperty("Na")
    private String na;
    /**
     * 协议名称
     */
    @JsonProperty("Pr")
    private String pr;
    /**
     * 组名称
     */
    @JsonProperty("Gr")
    private String gr;
    /**
     * 采集状态：0-采集失败、1-采集成功、2-采集成功的重发数据
     */
    @JsonProperty("Sa")
    private Integer sa;
    /**
     * 时间戳，秒
     */
    @JsonProperty("Ts")
    private Long ts;
    /**
     * 采集数据耗时，单位是秒
     */
    @JsonProperty("Tu")
    private Integer tu;
    /**
     * 消息序号，依次递增，用于判断包是否连续
     */
    @JsonProperty("Fd")
    private Integer fd;
    /**
     * 总分片数
     */
    @JsonProperty("Ta")
    private Integer ta;
    /**
     * 当前分片数
     */
    @JsonProperty("Pi")
    private Integer pi;
    @JsonProperty("Ex")
    private Integer ex;
    /**
     * 数据
     */
    @JsonProperty("Dt")
    private Map<String, Object> dt;
}
